import 'dart:io';

void main() async {
  // 示例文件路径
  final String filePath = 'example.txt';
  final File file = File(filePath);

  // 1. 写入文件
  await _writeFile(file, 'Hello, Dart!\n这是一个测试文件。');
  print('文件写入完成');

  // 2. 读取文件
  await _readFile(file);

  // 3. 列出当前目录文件
  await _listDirectory(Directory.current);
}

// 写入文件
Future<void> _writeFile(File file, String content) async {
  try {
    await file.writeAsString(content); // 快捷方法，自动处理流
  } catch (e) {
    print('写入失败: $e');
  }
}

// 读取文件
Future<void> _readFile(File file) async {
  try {
    final String content = await file.readAsString();
    print('\n文件内容:\n$content');
  } catch (e) {
    print('读取失败: $e');
  }
}

// 列出目录内容
Future<void> _listDirectory(Directory directory) async {
  try {
    print('\n目录内容:');
    await for (final entity in directory.list()) {
      final type = entity is File ? '文件' : '目录';
      print('$type: ${entity.path}');
    }
  } catch (e) {
    print('遍历失败: $e');
  }
}
